/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Cliente.util;

import Cliente.Entidade.Cliente;

/**
 *
 * @author Caio Valentim
 */
public class CalculaIAC extends CalculoAbstractHandler {
    

    @Override
    public boolean accept(Cliente cliente) {
        return (cliente.getAltura()>0.0 &&cliente.getQuadril()>0.0);
    }

    @Override
    public void Calcula(Cliente cliente) {
        
        
        Double altura;
        Double quadril;
        Double IAC;
        String mensagem = null;
     

        altura = (cliente.getAltura());
        quadril = (cliente.getQuadril());

        IAC = ((quadril) / (altura * Math.sqrt(altura))) - 18;
        String pedaçoIAC = String.format("%.2f", IAC);;
        
        if (cliente.getSexo().equals("Masculino")) {
            if (IAC < 8.0) {
                mensagem = "Abaixo do peso, IAC = " + pedaçoIAC;
            } else if (IAC >= 8.0 && IAC < 21.0) {
                mensagem = "Peso normal,IAC = " + pedaçoIAC;
            } else if (IAC >= 21.0 && IAC < 26.0) {
                mensagem = "Sobrepeso, IAC = " + pedaçoIAC;
            } else if (IAC >= 26.0) {
                mensagem = "Obesidade, IAC = " + pedaçoIAC;
            }
        } else {
            if (IAC < 21.0) {
                mensagem = "Abaixo do peso, IAC = " + pedaçoIAC;
            } else if (IAC >= 21.0 && IAC < 33.0) {
                mensagem = "Peso normal,IAC = " + pedaçoIAC;
            } else if (IAC >= 33.0 && IAC < 38.0) {
                mensagem = "Sobrepeso, IAC = " + pedaçoIAC;
            } else if (IAC >= 38.0) {
                mensagem = "Obesidade, IAC " + pedaçoIAC;
            }
        }

        cliente.setIAC(mensagem);
    }
}
